package com.RWM.helpers;

import android.util.Log;

/**
 * This class provides methods for calculating the distance between two points 
 * of latitude and longitude
 * 
 * @author Jessie McGarry
 *
 */
public class LatLonDistance {
	public static double haversine(double lat1, double lon1, double lat2, 
										 double lon2) {
		int R = 6371; // km
		double dLat = Math.toRadians(lat2-lat1);
		double dLon = Math.toRadians(lon2-lon1);
		lat1 = Math.toRadians(lat1);
		lat2 = Math.toRadians(lat2);
	
		double a = Math.sin(dLat/2) * Math.sin(dLat/2) + Math.sin(dLon/2) * 
				   Math.sin(dLon/2) * Math.cos(lat1) * Math.cos(lat2); 
		double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)); 
		
		return R * c;
	}
}
